package routes

import (
	"github.com/kataras/iris"
	"github.com/kataras/iris/mvc"
	"manageCrontab/controllers"
	"manageCrontab/controllers/Admin"
	"manageCrontab/routes/middlewares"
)

var TPL = iris.HTML("./views", ".html")

// @title 前端接口
func Home(app *iris.Application) {
	// 模块分组
	mvc.Configure(app.Party("task"), taskGroup)
	//mvc.Configure(app.Party("test1"),test1Group)
	//mvc.Configure(app.Party("test2"),test2Group)
}

func taskGroup(app *mvc.Application) {
	//app.Handle(new(controllers.TaskController))
}

// @title 模块
func test1Group(app *mvc.Application) {
	// app.Configure  还可以分模块快
	// 使用中间件
	//app.Router.Use(middlewares.Before, middlewares.MainHandler, middlewares.After)
	// 使用控制器, 多个控制器url路径不能重复
	app.Handle(new(controllers.IndexController))
	app.Handle(new(controllers.TestController))

}

func test2Group(app *mvc.Application) {
	app.Router.Use(middlewares.Before, middlewares.MainHandler, middlewares.After)
	// 使用控制器
	app.Handle(new(controllers.TestController))
}

//------------------------------------------------------------------------------------
// 后端的接口
//------------------------------------------------------------------------------------

func Admin(app *iris.Application) {
	TPL = iris.HTML("./views/admin", ".html").
		Reload(true).      // <--- 设置为　True，以便在每次请求时重新构建模板
		Delims("<$", "$>") // 重新设置定界符，和layui重复了
	// 加载视图模板地址
	app.RegisterView(TPL)
	//静态资源方法
	//app.StaticHandler("./static" ,true, true)
	app.StaticWeb("static", "./static/")
	mvc.Configure(app.Party("admin"), adminRoute)
	mvc.Configure(app.Party("admin/api"), adminApiRoute)
}

// @title 页面
func adminRoute(app *mvc.Application) {
	app.Handle(new(controllers_admin.LoginController))
	app.Handle(new(controllers_admin.TaskController))
	app.Handle(new(controllers_admin.IndexController))
}

// @title 接口
func adminApiRoute(app *mvc.Application) {
	app.Handle(new(controllers_admin.LoginController))
	app.Handle(new(controllers_admin.TaskController))
}
